#ifndef SCENE_MANAGER_H
#define SCENE_MANAGER_H

#include "Scenes.hpp"

class SceneManager {
    public:
        SceneManager();

        void Add(std::string, IScene&);
        void Switch(std::string);
        void Remove(std::string);
        IScene* Get(std::string);

        void Update(sf::RenderWindow& , sf::Event&);
    protected:
        std::map<std::string, IScene&> sceneList;

        // Hold current scene. null if
        // there is no scene.
        IScene* current;
};
#endif
